package com.example.plan.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.plan.common.result.Result;
import com.example.plan.model.dto.drone.DroneDTO;
import com.example.plan.model.dto.drone.DronePageDTO;
import com.example.plan.model.entity.Drone;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.plan.model.vo.DroneVO;

/**
* @author ASUS
* @description 针对表【drone(无人机设备表)】的数据库操作Service
* @createDate 2025-03-01 19:07:17
*/
public interface DroneService extends IService<Drone> {

    /**
     * 新增无人机
     * @param dto
     * @return
     */
    Result<Void> saveDrone(DroneDTO dto);

    /**
     * 删除无人机
     * @param droneId
     * @return
     */
    Result<Void> deleteDrone(Long droneId);

    /**
     * 获取无人机
     * @param droneId
     * @return
     */
    Result<DroneVO> getDrone(Long droneId);

    /**
     * 分页查询无人机
     * @param dto
     * @return
     */
    Result<IPage<DroneVO>> pageDrone(DronePageDTO dto);

    /**
     * 更新无人机
     * @param dto
     * @return
     */
    Result<Void> updateDrone(DroneDTO dto);
}
